<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
         // promise 异常传透？
        //    当时使用promise的then链式调用，可以在最后指定失败的回调函数
        //    前面任何操作出了的异常，都可以在最后的回调函数中处理
        //    错误信息是通过 reason=>{ throw  reason}逐级向下传递的，
        //    reason=>{ throw  reason}也可以不写
        //  promise链式调用中断
        //    在then()链式调用时， 在中间中断， 不再调用后面的回调函数
        //    方法： 在回调函数中返回一个pendding 状态的promise对象
        new Promise((resolve,reject)=>{
           
            reject(1)
             resolve(1)
        }).then(
            value=>{
                console.log("onResolved()1", value)
            },
            reason =>{ throw reason } 
        ).then(
            value=>{
                console.log("onResolved()2", value)
            }
        ).then(
            value=>{
                console.log("onResolved()3", value)
            },
            reason => {throw reason}
        ).catch(
            reason=>{
                console.log("onRejected()1", reason)
                //  throw reason
                // return    Promise.reject(reason)
                return new Promise (()=>{})
            }
        ).then(
            value=>{
                console.log("onResolved()4", value)
            },
            reason=>{
                console.log("onRejected()2", reason)
            }
        )
    </script>
</body>
</html>